package com.example.zyh.toolslib.base;

import android.content.Context;
import android.content.Intent;
import android.content.pm.ActivityInfo;
import android.graphics.Color;
import android.os.Bundle;
import android.text.TextUtils;

import com.blankj.utilcode.util.BarUtils;

import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

import butterknife.ButterKnife;
import butterknife.Unbinder;

/**
 * @author ZhangYuhang
 * @describe
 * @date 2019/12/16
 * @updatelog
 */
public abstract class BaseActivity extends AppCompatActivity {

    protected Unbinder mUnbinder;
    protected Context mContext;

    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
        setContentView(initLayout());
        BarUtils.setStatusBarColor(this,Color.TRANSPARENT);
        BarUtils.setNavBarLightMode(this,true);
        mUnbinder = ButterKnife.bind(this);
        mContext = this;
        initView();
        initData();
        initEvent();
    }

    protected abstract int initLayout();

    protected abstract void initView();

    protected abstract void initData();

    protected abstract void initEvent();


    @Override
    protected void onDestroy() {
        super.onDestroy();
        if (mUnbinder != null) {
            mUnbinder.unbind();
        }
    }


    /**
     * 检查是否是正确手机号
     *
     * @param phoneNumber
     * @return 手机号码
     * 移动：134(0-8)、135、136、137、138、139、147、150、151、152、157、158、159、178、182、183、184、187、188、198
     * 联通：130、131、132、145、155、156、166、175、176、185、186
     * 电信：133、149、153、173、177、180、181、189、199
     */
    public static boolean isPhoneNumber(String phoneNumber) {
        if (TextUtils.isEmpty(phoneNumber)) {
            return false;
        }
        String reg = "^((13[0-9])|(14[5,7,9])|(15[0-9])|(166)|(17[0,1,3,5,6,7,8])|(18[0-9])|(19[8,9]))\\d{8}$";
        Pattern pattern = Pattern.compile(reg);
        Matcher matcher = pattern.matcher(phoneNumber);
        return matcher.matches();
    }
}
